package com.qf.commons.redis.annotation;

import java.lang.annotation.*;

/**
 * 自定义注解
 * 元注解：标记注解的注解
 *   @Target - 注解的作用目标
 *       ElementType.TYPE - 标记在类上
 *       ElementType.METHOD - 标记在方法
 *       ElementType.PARAMETER - 标记在方法形参上
 *       ElementType.FIELD - 标记在属性上
 *   @Retention - 注解的有效范围
 *       RetentionPolicy.SOURCE - 注解只在源码上有效，编译成字节码文件后丢失
 *       RetentionPolicy.CLASS - 注解在字节码上有效，加载到内存中后丢失
 *       RetentionPolicy.RUNTIME - 注解在运行时有效（如果需要配合反射获得注解的话，必须是Runtime范围）
 *
 * 注解的方法
 *    语法：返回值类型 方法名() [default 默认值];
 *
 * author Ken
 * create_time 2022/11/23
 */
@Documented
@Inherited
@Target({ElementType.METHOD})
@Retention(RetentionPolicy.RUNTIME)
public @interface CLock {

    String value();
}
